1. Field of Use
The present invention relates to data processing systems and more particularly to input/output systems required to control input/output operations involving a number of peripheral devices.
2. Prior Art
In general, systems include as part of the operating system software a number of interrupt subroutines for processing events producing interrupts. These events may be produced by internal conditions within a system as well as conditions occurring within the input/output devices of the system.
In general, interrupts are recognized in accordance with a predetermined priority by the system processing unit and controllers or control units connected to peripheral devices included in the system. Thus, once the priority for processing events is established, the events are required to be processed in the same way. An important disadvantage of these systems is that certain events may cause the processing unit to interrupt an important program to process an interrupt in connection with a less important program. This in turn results in the wasting of valuable processing time caused by unnecessary switching between programs as a result of a pre-established priority for processing events.
Additionally, in the types of systems mentioned, when an event is detected, the unit causes an interrupt which forces the system to a predetermined location in memory which stores address information for referencing a common interrupt routine. The memory address provided in such instances is fixed with respect to interrupt produced by the device. Thus, these types of systems by requiring different types of interrupts to utilize the same interrupt routine requires the processing unit to then determine the reason for the interrupt and select the appropriate routine for processing the interrupt. This also results in the wasting of valuable processing time caused by having the processing unit call up the proper program for processing the interrupt. Further, such systems require interrogation programs resulting in program duplication.
Additionally, whenever systems of the type mentioned are required to issue commands to one of the device controllers, this normally necessitates delaying system data transfer operations or requires that such commands be issued only during intervals preceding and following such data transfer operations. This also has reduced input/output processing efficiency.
Accordingly, it is a primary object of the present invention to provide a system which provides for efficient processing of events relating to input/output operations involving a number of peripheral devices.
It is a further object of the present invention to provide a system which provides for efficient switching between programs during the processing of events.
It is still a further object of the present invention to provide a system which facilitates the processing of input/output operations.